package threadTest.myCompletableFuture;

import java.util.Random;

/**
 * 功能描述:用户服务
 * 2024/08/09
 *
 * @author ZhangYi
 */
public class UserService {

	/**
	 * 获取用户信息
	 *
	 * @return {@code String }
	 * @author ZhangYi
	 */
	public String getUserInfo(){
		System.out.println("获取用户信息");
		return "获取用户信息";
	}


	/**
	 * 从serve1获取用户信息
	 *
	 * @param userId 用户id
	 * @return {@code String }
	 * @author ZhangYi
	 */
	public String getUserInfoFromServe1(String userId){
		sleepRandomTime();
		System.out.println("111.23.123.23 服务器返回用户信息");
		return String.format("userId %s 获取用户信息1",userId);
	}

	/**
	 * 从server2获取用户信息
	 *
	 * @param userId 用户id
	 * @return {@code String }
	 * @author ZhangYi
	 */
	public String getUserInfoFromServer2(String userId){
		sleepRandomTime();
		System.out.println("222.23.123.24 服务器返回用户信息");
		return String.format("userId %s 获取用户信息2",userId);
	}

	/**
	 * 从server3获取用户信息
	 *
	 * @param userId 用户id
	 * @return {@code String }
	 * @author ZhangYi
	 */
	public String getUserInfoFromServer3(String userId){
		sleepRandomTime();
		System.out.println("333.23.123.25 服务器返回用户信息");
		return String.format("userId %s 获取用户信息3",userId);
	}

	public void sleepRandomTime(){
		int i = new Random().nextInt(100);
		try {
			Thread.sleep(i);
		} catch (InterruptedException e) {
			throw new RuntimeException(e);
		}
	}
}
